1. Field of the Invention
The present invention relates to a method and system for software development and a software design evaluation server therefor. More particularly, the present invention relates to a method and system for software development which allows users to verify the functional specifications during the development process, and also to a software design evaluation server which facilitates user participation in a software development process to verify the functional specifications of an application under development.
2. Description of the Related Art
In the context of business process reengineering (BPR) including analysis and redesign of business rules and practices, many organizations recognize the necessity of reconfiguration and redeployment of their business computing systems to adapt to the new business processes. Information system departments in such organizations are requested to put their efforts to improvement of productivity in the software development processes, while the end users are also encouraged to develop a system by themselves according to their own needs.
In reality, however, actual user needs are so diversified that information system departments are overwhelmed by ever-increasing development work backlogs. The delivery of maximum efficiency in software development is therefore an urgent requirement to be achieved.
With respect to the software development methodologies, a conventional "waterfall" process has been popularly used to develop business application programs, in which each development phase strictly follows its predecessor. That is, a software development process starts with repeated discussions between the user and developer so as to clarify the user's requirements and finalize the product target specifications, and then proceeds to the next phases such as design, coding, and test in a stepwise manner.
Today, prototyping has been widely introduced, on the other hand, as an integral part of a software development process. In this methodology, the users are requested to evaluate a prototype of an application under development and provide their comments and suggestions on the features presently implemented therein, thus allowing the developer to modify and improve the program in a timely manner according to the user's feedback. The prototyping methodology promotes heightened user involvement in the product definition and development processes, while ensuring satisfaction with the final application.
The above-described software development with prototyping phases requires users to participate in the system development from its early stage to achieve a high quality level in the final product. This user participation, however, entails movement of human resources and/or instruments from one place to another, thus imposing some burdens on both users and developers.
Another problem is availability of users. They are not always ready for frequent participation in the system development. Insufficient user participation, however, reduces the opportunities for in-process check and correction, which may result in some indefinite functional specifications remaining unclarified or necessary features left missing in the final product.